package compositetype

import (
	"fmt"
)

func Slice() {
	//此处的months[0]为空
	months := [...]string{1: "J", 2: "F", 3: "March", 4: "A", 5: "May"}

	Q2 := months[1:3] //Q2为一个新slice，为months[1]和months[2]
	Q3 := months[1:]
	fmt.Println(months[0])
	fmt.Println(Q2)
	fmt.Println(Q3)
	//Q4 := Q2[:6] 超出了最初的months[]的长度，会宕机
	//fmt.Println(Q4)
	Q5 := Q2[:4] //[:4]表示从Q2的开始元素，往后输出4个。
	//此处Q2继承monthsp[]的元素应该是相同的地址。
	fmt.Println(Q5)
	Q5[0] = "ssj" //修改被赋值的slice的值，同样会反过来影响原slice，应该是继承了指向数据的指针
	fmt.Println(months)

	//var z []int
	//z = make([]int, 100, 200)  //make(类型， 实际长度， 总的容量)
}
